package com.developer.persistence.modulo.general;

import java.util.List;
import org.apache.ibatis.session.SqlSession;
import com.developer.core.utils.SimpleLogger;
import com.developer.logic.modulo.general.dto.VOUnidadMedida;
import com.developer.mybatis.DBManager;
import com.developer.persistence.modulo.autenticacion.mapper.dao.UnidadMedidaDao;

public class ControllerUnidadMedida {

	//Creación del método consulta
	
	public List<VOUnidadMedida> consultaUnidadMedida() {
		SqlSession session = DBManager.openSession();

		try {
			
			UnidadMedidaDao dao = session.getMapper(UnidadMedidaDao.class);
			VOUnidadMedida uniMed = new VOUnidadMedida();
			
			List<VOUnidadMedida> consulta = dao.consultaUnidadMedida(uniMed); 
			
			
			//consulta.add(uniMed);
			
			return consulta;	
				
			}
		
			catch (Exception e) {
			SimpleLogger.error("Error autenticando usuario", e);
			return null;

		} finally {
			session.close();

		}
	}

	//Creación del método de inserción
	
	public VOUnidadMedida insertarUnidadMedida() {
		SqlSession session = DBManager.openSession();

		try {
			
			UnidadMedidaDao dao = session.getMapper(UnidadMedidaDao.class);
			VOUnidadMedida uniMed = new VOUnidadMedida();
			
			VOUnidadMedida consulta = dao.insetarUnidadMedida(uniMed); 
			
			return consulta;	
				
			}
		
			catch (Exception e) {
			SimpleLogger.error("Error autenticando usuario", e);
			return null;

		} finally {
			session.close();

		}
	}


	//Creación del Método de actualización
	public VOUnidadMedida actualizarUnidadMedida() {
		SqlSession session = DBManager.openSession();

		try {
			
			UnidadMedidaDao dao = session.getMapper(UnidadMedidaDao.class);
			VOUnidadMedida uniMed = new VOUnidadMedida();
			
			VOUnidadMedida consulta = dao.actualizarUnidadMedida(uniMed); 
			
			return consulta;	
				
			}
		
			catch (Exception e) {
			SimpleLogger.error("Error autenticando usuario", e);
			return null;

		} finally {
			session.close();

		}
	}
	
	
	//Creación del Método de borrado
	public VOUnidadMedida eliminarUnidadMedida(){
		SqlSession session = DBManager.openSession();

		try {
			
			UnidadMedidaDao dao = session.getMapper(UnidadMedidaDao.class);
			VOUnidadMedida uniMed = new VOUnidadMedida();
			
			VOUnidadMedida consulta = dao.eliminarUnidadMedida(uniMed); 
			
			return consulta;	
				
			}
		
			catch (Exception e) {
			SimpleLogger.error("Error autenticando usuario", e);
			return null;

		} finally {
			session.close();

		}
	}
	
	//Impresión de datos
		public static void main(String[] args) {
			DBManager.initConfiguration();
			
			ControllerUnidadMedida controllerUnidadMedida= new ControllerUnidadMedida();
			List<VOUnidadMedida> prueba = controllerUnidadMedida.consultaUnidadMedida();
			
			for (VOUnidadMedida voUnidadMedida : prueba) {
				System.out.println(voUnidadMedida.getUme_codigo()+"AAAA"+voUnidadMedida.getUme_descripcion()+"AAAA"+voUnidadMedida.getUme_simbolo());
				
			}
			
		}
}//End Class
